clear all
use  "../data/zip_year_data", clear

*Define CHTV and CHTC and the IV 
gen lnchtc = log((chinese100cash - american100cash/american100*chinese100)*(american100/(american100 - american100cash)))
gen chtc = (chinese100cash - american100cash/american100*chinese100)*(american100/(american100 - american100cash))

gen lnchtv = log((chinese100_cashval - american100_cashval/american100_val*chinese100_val)*(american100_val/(american100_val - american100_cashval)))
gen chtv = (chinese100_cashval - american100_cashval/american100_val*chinese100_val)*(american100_val/(american100_val - american100_cashval))

by year, sort: egen chttc = sum(chtc)
gen chi_iv_ct = log(chineseper * chttc)
by year, sort: egen chttv = sum(chtv)
gen chi_iv_val = log(chineseper * chttv)

*Define the interacted terms
gen lnchtvXpost = lnchtv * post
gen lnchtcXpost = lnchtc * post
gen chi_iv_ctXpost = chi_iv_ct * post
gen chi_iv_valXpost = chi_iv_val * post

*Keep only common sample where both lnchtv and lnchtc are not missing
drop if lnchtc == .
drop if lnchtv == .

****Regressions****
*zillow
ivreghdfe lnzhvi_real lnpopulation d_lnzhvi_real_9600 bachelorshare d_lnincome_9801 ln_density near_college_5 (lnchtv lnchtvXpost = chi_iv_val chi_iv_valXpost) if chtv != 0, absorb(timecounty) cluster(zipcode) 
eststo z1
estadd scalar fstat = e(widstat)
estadd local controls "Yes"
estadd local fe "Yes"

ivreghdfe lnzhvi_real lnpopulation d_lnzhvi_real_9600 bachelorshare d_lnincome_9801 ln_density near_college_5 (lnchtc lnchtcXpost = chi_iv_ct chi_iv_ctXpost) if chtc != 0, absorb(timecounty) cluster(zipcode) 
eststo z2
estadd scalar fstat = e(widstat)
estadd local controls "Yes"
estadd local fe "Yes"

*trans_value
ivreghdfe lntran_price lnpopulation d_lntran_price_9600 bachelorshare d_lnincome_9801 sa_nbr_bath age sa_sq sa_nbr_bed ln_density near_college_5 (lnchtv lnchtvXpost = chi_iv_val chi_iv_valXpost) if chtv != 0, absorb(timecounty) cluster(zipcode) 
eststo v1
estadd scalar fstat = e(widstat)
estadd local controls "Yes"
estadd local fe "Yes"

ivreghdfe lntran_price lnpopulation d_lntran_price_9600 bachelorshare d_lnincome_9801 sa_nbr_bath age sa_sq sa_nbr_bed ln_density near_college_5 (lnchtc lnchtcXpost = chi_iv_ct chi_iv_ctXpost) if chtc != 0, absorb(timecounty) cluster(zipcode) 
eststo v2
estadd scalar fstat = e(widstat)
estadd local controls "Yes"
estadd local fe "Yes"

*returns
ivreghdfe ln_returns lnpopulation d_lnreturns_9801 bachelorshare d_lnincome_9801 ln_density near_college_5 (lnchtv lnchtvXpost = chi_iv_val chi_iv_valXpost) if chtv != 0, absorb(timecounty) cluster(zipcode) 
eststo r1
estadd scalar fstat = e(widstat)
estadd local controls "Yes"
estadd local fe "Yes"

ivreghdfe ln_returns lnpopulation d_lnreturns_9801 bachelorshare d_lnincome_9801 ln_density near_college_5  (lnchtc lnchtcXpost = chi_iv_ct chi_iv_ctXpost) if chtc != 0, absorb(timecounty) cluster(zipcode) 
eststo r2
estadd scalar fstat = e(widstat)
estadd local controls "Yes"
estadd local fe "Yes"

*Create table
esttab z1 z2 v1 v2 r1 r2 ///
	using "../results/table3.tex", replace ///
	label ///
	keep(lnchtvXpost lnchtv lnchtcXpost lnchtc) ///
	order(lnchtvXpost lnchtv lnchtcXpost lnchtc) ///
	star(* 0.10 ** 0.05 *** 0.01) ///
	cells(b(star fmt(%9.3f)) se(par fmt(%9.3f))) ///
	stats(controls fe fstat N , ///
		fmt(0 0 %3.0f %11.0g ) ///
		labels("Controls" ///
			"County-year FE" ///
			"First Stage F-statistic" ///
			"Observations")) ///
	 mlabels(, none) collabels(, none) ///
	 mgroups("Home Prices (Zillow)" "Home Prices (Transactions)" "Total Returns", pattern(1 0 1 0 1 0))
